home *** CD-ROM | disk | FTP | other *** search
- { ────────────────────────────────────────────────────────────────────────
- SHADOW WARRIOR 3DFX PATCHED TO WORK ON A RUSH
- (c)1998 by Pope-X
-
- Homepage : http://huizen.dds.nl/~dbg
- Email : dbg@dds.nl
- CopyRight : U can distribute and use this aslong as u don't ask
- any money for the programs coded with this source!
- Warrenty : I don't Give ANY. if it doesn't work for u then its to bad!
- Note : This is NOT illegal!
-
- ──────────────────────────────────────────────────────────────────────── }
-
- { ────────────────────────────────────────────────────────────────────────
- Well.. i'm still for opensource.. so here is the source.
- this source was build in 2 minutes after i have found the location of
- the patch with cracker.pas. now shadowwarrior works with a voodoo rush!
- ──────────────────────────────────────────────────────────────────────── }
-
- uses dos,crt,rafdradd;
- var f:file of char;
- c:char;
- Msgstr:string;
- msgcol:byte;
-
- procedure stop;
- begin
- textattr:=msgcol;
- Writeln(msgstr);
- textattr:=7;
- Writeln('────────────────────────────────────────────────────');
- Writeln('Done By Pope-X http://huizen.dds.nl/~dbg');
- Writeln;
- halt(0);
- end;
-
- begin
- textattr:=7;
- Writeln('Patching sw3dfx.exe to make it work on a voodoo rush');
- Writeln('────────────────────────────────────────────────────');
- filemode:=fmreadwrite+fmdenynone;
- {$I-}
- assign(f,'SW3DFX.EXE');
- Reset(f);
- {$I+}
- if ioresult<>0 then
- begin
- msgstr:='SW3DFX.EXE COULD NOT BE OPENED';
- msgcol:=12;
- stop;
- end;
- if filesize(f)<>2518858 then
- begin
- close(f);
- msgstr:='SW3DFX.EXE NOT CORRECT SIZE (Diverent version?)';
- msgcol:=12;
- stop;
- end;
- Seek(f,1350385);
- Read(f,c);
- if c=#$74 then
- begin
- close(f);
- msgstr:='SW3DFX.EXE ALREADY PATCHED';
- msgcol:=12;
- stop;
- end;
- if c=#$75 then
- begin
- Seek(f,1350385);
- c:=#$74;
- Write(f,c);
- msgstr:='SW3DFX.EXE SUCSESFULLY PATCHED. ENJOY!';
- msgcol:=11;
- end else begin
- msgstr:='SW3DFX.EXE NOT CORRECT DATA ON PATCH LOCATION';
- msgcol:=12;
- end;
- close(f);
- stop;
- end.